﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace DataAccess
{
    public class ConnectionDatabase
    {
        public ConnectionDatabase()
        { }
        public SqlConnection con = null;
        SqlCommand cmd;
        // tạo kết nối đến database
        public SqlConnection GetConnection()
        {
            String conStr = @"Data Source=KING-PC\SQLEXPRESS;Initial Catalog=EprojectSem3;Persist Security Info=True;User ID=turau;Password=anhday";
            SqlConnection con = null;
            con = new SqlConnection(conStr);
            return con;
        }
        // thự thi câu lệnh sql và trả về SqldataReader
        public SqlDataReader ExecuteQuery(String sql)
        {

            con = GetConnection();
            try
            {
                con.Open();
                cmd = new SqlCommand(sql, con);
                SqlDataReader reader = cmd.ExecuteReader();
                return reader;
            }
            catch (Exception e) { throw; }
            finally { con.Close(); }

        }
        // thực thi câu lệnh sql mà không trả về giá trị nào 
        public void ExeNonQuery(String sql)
        {

            con = GetConnection();
            try
            {
                con.Open();
                cmd = new SqlCommand(sql, con);
                cmd.ExecuteNonQuery();
            }
            catch (Exception e) { throw; }
            finally { con.Close(); }

        }

        //thực thi câu lệnh sql và trả về datatable nhưng không có tham số truyền vào 
        public DataTable ExecuteQueryDataTable(string sql)
        {
            con = GetConnection();
            try
            {
                con.Open();
                cmd = new SqlCommand(sql, con);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable tbl = new DataTable();
                da.Fill(tbl);
                return tbl;
            }
            catch (Exception e) { throw; }
            finally { con.Close(); }

        }

    }
}
